//=============================================================================

#ifndef ASKIN_H
  #define ASKIN_H

//=============================================================================

#include "aTexture.h"
#include "aList.h"
#include "aString.h"

//=============================================================================

enum askRet
{
  GOTIT = -128,
  COL_BAD_DATA_SIZE,
  COL_NULL_DATA_POINTER,
  COL_NO_TEXTURES,
  COL_UNSUSPECT_ERROR,
  ABS_BAD_SKIN_DATA_POINTER,
  ABS_BAD_TEXTURES_COUNT,
};

//=============================================================================

class aSkin
{
  public:
    inline int asGetTexturesCount()const    {return texs.alGetCount();}

    aSkin();
      bool asIsExist() const;
      void asBindSkin() const;
      aItem<aTexture>* asAddTexture(const aString& path);
      void asRemoveSkinData();
      size_t asGetDataVolume()const;
      askRet asCollectData(void* data, size_t wholeSize)const;
      askRet asAbsorbData(char* data, int tCount);
    ~aSkin();

  private:
    aList<aTexture> texs;
};

//=============================================================================

#endif

//=============================================================================
